shm.c